1. Field of the Invention
This invention relates generally to computer networks and, more particularly, to managing Internet connections in a multi-homed computer network.
2. Description of the Related Art
In recent years, enterprises have become more and more dependent on Internet-based applications such as e-mail and the World Wide Web. With this growing dependence, the impact of Internet downtime on enterprises has also grown. An enterprise typically gains access to the Internet through an Internet Service Provider (ISP). Many enterprise offices have only one connection to a single ISP regardless of the number of users in the enterprise, and therefore a failure of that connection can cause substantial inconvenience and loss of productivity for the enterprise and its employees. If the enterprise is involved in e-commerce, a failed Internet connection can also result in lost revenue and dissatisfied customers.
Because of technical realities, an ISP cannot guarantee one hundred percent uptime for its Internet connection. Consequently, sporadic periods of Internet downtime have become an accepted fact of life for enterprises with a single Internet connection. Furthermore, the penalties for an ISP breaking a service level agreement usually do not adequately compensate an enterprise for the negative impact of a downed Internet connection. Another downside of a single Internet connection is that many enterprises have outgrown the bandwidth capacity of a single connection, which results in sluggish response times when enterprise employees access the Internet.
As a result, enterprises are increasingly instituting multiple Internet connections using multiple ISPs in order to provide increased reliability and increased bandwidth capacity. A computer network with such a multi-link, multi-ISP configuration is commonly referred to as a “multi-homed” network. An example of this configuration is shown in FIG. 1, which shows a local area network (LAN) that is connected to the Internet through two separate ISPs, ISP 1 and ISP 2. Each ISP is connected to the LAN through a dedicated network connection via a local access router. Each of the ISPs typically assigns the LAN a range of publicly-accessible IP addresses for use by the owner of the LAN. Thus, a multi-homed LAN owner is assigned multiple sets of discontiguous IP addresses, each of which is accessible only through the ISP that assigned the set. The computers on the LAN may use private, non-routable IP addresses that are different from the public IP addresses assigned by the ISP. As a result, the LAN is required to conduct proper IP address management for every packet that is sent and received with respect to the LAN.
A multi-homed network provides advantages over a network having a single Internet connection through a single ISP. One advantage relates to reliability, as the multi-connection Internet setup provides redundancy with respect to the network's Internet connection. That is, if one of the ISP connections becomes unavailable, the other ISP connection can serve as a backup Internet connection. Another advantage of multi-homing is increased bandwidth over a single Internet connection. A net increase in bandwidth results where an enterprise can utilize the bandwidth of all Internet connections in a multi-homed system.
Despite the advantages that a conventional multi-homed system provides over a single Internet connection, there are also drawbacks associated with a conventional multi-homed system. One such drawback, described with reference to FIG. 1, relates to the processing of outbound message traffic in the multi-homed network. Assume a user uses Host B in FIG. 1 to access a public Web site hosted on Host A, which is external to the LAN. In a conventional multi-homed system, the Host B sends all of its Internet-bound message traffic to one of the local access routers as its default gateway, such as to the router for ISP 1. Thus, the Host B is essentially “locked” to ISP 1, so that ISP 1 represents a single point-of-failure for Host B. Moreover, where the LAN includes multiple host machines, there is no dynamic load balancing between the ISPs. Rather, some of the hosts are fixedly assigned to one ISP and other hosts are fixedly assigned to another ISP, which only provides static load balancing. Thus, this setup does not intelligently protect against ISP failure nor does it provide intelligent load balancing.
Another drawback relates to inbound traffic. With reference still to FIG. 1, assume that Host A is an end-user computer that accesses a public Web site hosted by Host B on the LAN. When Host A attempts to establish an Internet connection with Host B, Host A performs a domain name lookup through Domain Name Service (DNS) to find the IP address of Host B based on a domain name, as will be known to those skilled in the art. As discussed, Host B's actual IP address may be private and non-routable on the Internet, so the DNS server for Host B's domain must return an address from one of the public address ranges assigned to Host B by ISP 1 or ISP 2, and the local access routers must be configured to map that public address to Host B using network address translation (NAT). However, Host A might only use one public address to access Host B. If a failure makes that one address unreachable, then Host A will be unable to reach Host B over the Internet, thereby effectively shutting down Host B with respect to Host A.
One way of overcoming such problems is through the use of Border Gateway Protocol (BGP), which is an Internet protocol that is commonly used between different ISPs to enable groups of routers to share routing information. However, the use of BGP has a high cost and is quite complex, which tends to scare away enterprises from multi-homing using BGP. Moreover, the use of BGP requires the cooperation of multiple ISPs, which can be burdensome, particularly for smaller enterprises.
From the discussion above, it should be apparent that there is a need for a more efficient method of managing the Internet connections in a multi-homed computer network.